package com.xiaolin.algorithm.recursion;

/**
 * @ClassName Sum
 * @Description 递归实现求和
 * @Detail detail
 * @Author MyPC
 * @Date 2020/11/17
 * @Version 1.0
 */
public class Sum {
    public static void main(String[] args) {
        System.out.println(sum(100));
        System.out.println(sum2(100));
    }

    /**
     * 递归求和-自顶向上
     * @param num 求和1-num的总和
     * @return
     */
    public static int sum(int num){
        // 递归头
        if(num==1)return num;
        // 递归体
        return num+sum(--num);
    }

    /**
     * 循环迭代-自底向上
     * @param num
     * @return
     */
    public static int sum2(int num){
        int sum=0;
        for(int i=1;i<=num;i++){
            sum+=i;
        }
        return sum;
    }
}
